home *** CD-ROM | disk | FTP | other *** search
/ Assassins - Ultimate CD Games Collection 2 / Assassins 2 - Ultimate Games No. 2 (1995)(Weird Science)[!][Amiga-CD32-CDTV].iso / disks / asi144.dms / asi144.adf / RC / Cube.doc < prev    next >
Text File  |  1992-10-07  |  8KB  |  211 lines

  1.     This program and it's associated files are (C) Copyright 1991 by Martin
  2. Gitelson.  It is to be distributed as shareware.  No commercial use may be
  3. made other than a reasonable fee for reproduction.  Please feel free to
  4. distribute by any means, but please keep all the files together.  Use at your
  5. own risk.  I take no responsibility for any damages that may be caused by
  6. the use of this program.
  7.  
  8. -----------------------------------------------------------------------------
  9.  
  10.                    OVERVIEW
  11.  
  12. -----------------------------------------------------------------------------
  13.  
  14.     The Electronic Cube is an animated Rubik's Cube simulator, solver and
  15. tutorial, for anyone interested in learning the workings of the Rubik's
  16. cube.  It contains two solving algorithms; the one that I and most people
  17. use for solving; plus another using more processes than most people can
  18. possibly remember just to see how few moves it will take to solve any cube.
  19.  
  20.     It doen't start out as a Rubik's Cube program.  It started out just
  21. playing around with the drawing commands on my new computer.  It started
  22. out drawing circles and elipses and squares and then cubes and then
  23. something that looked like a Rubik's cube and eventually ended up as what
  24. you see here.
  25.  
  26.     This program is the result of almost two years work.  It didn't take
  27. nearly that long to write, but it took that long to find, catalog and apply
  28. over 400 processes for the solving algorithm.  It also took some time to
  29. learn the c128 and the Amiga.  Most of the processes were discovered with
  30. the help of my c128 computer which is still running a search for new and
  31. better processes.
  32.  
  33.     It can check about 6,000,000 per day.  That means it can check all the
  34. six move processes in less than a day.    The seven move processes take about
  35. 2 days. the eight move processes take about 31 days.  For nine moves, 480
  36. days.  Ten moves would take almost 20 years; and eleven moves 310 years.
  37. Then I have to wade through the data to see what can be used.  It is now
  38. finding about 1 or 2 usable processes per week.
  39.  
  40.     Currently, it will solve any cube in under 56 moves with an average of
  41. 50 or 51.  I am shooting for an average in the high 40's.  I think the
  42. maximum should be about 50 to 52 or lower when I find enough good strings.
  43.  
  44. -----------------------------------------------------------------------------
  45.  
  46.               HOW TO USE THE PROGRAM
  47.  
  48. -----------------------------------------------------------------------------
  49.  
  50.     KEYBOARD:
  51.  
  52.     Typing "u","f","b","r","l","d" will cause any of the six sides; up,
  53.     front, back, right, left, down to turn in a clockwise direction.
  54.     Prefixing with an "a" will cause an anticlockwise turn.  Prefixing
  55.     with a "2" causes a half turn.
  56.  
  57.     To orient the cube type "ol","or","ou","od","oc","oa" to orient the
  58.     cube left, right, up, down, clockwise, or anticlockwise.
  59.  
  60.     Pressing w before starting to solve causes the solve algorithm to
  61.     wait after each piece is placed for a key to be pressed.
  62.  
  63.     Pressing 1 before starting to solve causes the solve algorithm to
  64.     wait after each move allowing you to follow along with your cube.
  65.  
  66.     All other keypresses are ignored by the program, except for menu
  67.     shortcuts.
  68.  
  69.     MENU
  70.  
  71.     Palette:
  72.  
  73.           Enables you to change colors to suit your preferences.
  74.  
  75.           Enables you to paint each separate piece to match any
  76.           scrambled cube you wish to solve.  Select one of the six
  77.           colors by clicking on it; then move the pointer to the
  78.           cube and click again.  The color will appear in that
  79.           area.
  80.  
  81.           In order for the program to work correctly, the cube must
  82.           be painted to match a real world cube.  It must have the
  83.           correct number of red, blue, yellow etc. squares in a
  84.           pattern that a regular real cube would have.
  85.  
  86.           Delay sets the speed of the animation.
  87.  
  88.     Mouse Select:
  89.  
  90.           Enables turning and orienting the cube with the use of
  91.           the mouse. Click on the arrow for the direction you want
  92.           the cube to move.
  93.  
  94.           Colors are keyed to the color of the center spot on each
  95.           surface.  When the cube is oriented, the colors change.
  96.  
  97.           If you leave this window open, it greatly slows down the
  98.           Best of 24 solve.
  99.  
  100.     Clear Screen:
  101.  
  102.           Clears the bottom portion of the screen.
  103.  
  104.     Solve:
  105.  
  106.           Restores the cube who's picture appears on the screen to
  107.           it's store-bought condition before you got it all
  108.           confused using a method I learned from a book many years
  109.           ago.    It takes each piece in turn, conducts a search to
  110.           find out where that piece happens to be, then selects one
  111.           of the strings to put that piece back in place.
  112.  
  113.           First the upper edges.
  114.           Second the upper corners.
  115.           Third the four middle layer pieces.
  116.           Fourth it places the last corners.
  117.           Fifth it twists the last corners.
  118.           Sixth it places the last 4 edges.
  119.           Seventh it twists the last 4 edges.
  120.  
  121.           This solution takes about 60 to 110 moves.
  122.  
  123.     Fast Solve:
  124.  
  125.           It solves the upper layer one piece at a time.  It
  126.           selects the cheapest first.  The original program
  127.           solved them in order.  Selecting the cheapest first
  128.           saved about 3-4 moves.
  129.  
  130.           Next it solves the middle layer, two at a time.
  131.  
  132.           It attempts to combine steps 4-7 at one time if the
  133.           string is available.    (There are 15,552 possible
  134.           configurations of the last layer alone.)
  135.  
  136.           If the string is not available it combines steps 4 and 5
  137.           and sometimes 7, if that string is available.  If not it
  138.           solves steps 4, 5 and 6 leaving 7 for later.
  139.  
  140.           This method takes between 35 and 80 moves.  80 only when
  141.           one of the strings is missing.  Only 37 out of 456 are
  142.           currently missing.
  143.  
  144.     Best of 24:
  145.  
  146.           Best of 24 is the same as Fast Solve except it solves the
  147.           cube, records the number of moves, then orients and
  148.           solves it again using the same method.  There are 24 ways
  149.           to hold a cube.  Starting from a different point can
  150.           dramatically reduce the number of turns required.
  151.  
  152.     Best of 48:
  153.  
  154.           There is a fourth method.  I wrote a function which
  155.           chooses the cheapest string for the first pair of pieces
  156.           in the middle layer.    Most of the time it does the same or
  157.           better than Best of 24 but sometimes it is worse.  You can
  158.           see this method by pushing key #6 with or without the Amiga
  159.           key.    It just seems to take too long to wait while it
  160.           solves 48 times and then selects the best on an A500;
  161.           about 40 seconds.
  162.  
  163.           You can also see worst of 24 by pressing the 5 key.  This
  164.           was to help find errors.
  165.  
  166.     Print:
  167.  
  168.           The P key will print the configuration of the upper
  169.           layer.  It's only useful if the lower two layers are
  170.           intact.
  171.  
  172.     Recall:
  173.  
  174.           Each time at the beginning of the solve, the
  175.           configuration of the cube is saved in an array.  Recall
  176.           will get this position back.    After Best of 24, Recall
  177.           brings back the best starting position.
  178.  
  179.     Info:
  180.  
  181.           Please send donations.  After two years of twisting that
  182.           cube, I'm starting to get sick of it.  If you like the
  183.           program, and would like to see me continue to improve it,
  184.           for a donation of $15.00 I will send any future revisions
  185.           within the next year to those interested. I'll also send
  186.           the source in C.  I would also like to hear any
  187.           constructive criticisms or bug reports anyone might have.
  188.           If these figures sound too high, send what you think it
  189.           may be worth.
  190.  
  191.           I also have a version that runs on the c64 if anyone
  192.           happens to be interested.  It has everything but the Best
  193.           of 24 and Recall.  This program is actually a port of the
  194.           c64 version.    Also, if anyone is interested in conducting
  195.           their own search for new processes, I'll send you my
  196.           search programs which only run on the c128.  If enough of
  197.           us search, maybe we can chop some time off the 4495 year
  198.           estimate for searching 12 moves.  Any or all of the above
  199.           will be sent for the same donation.  I'm not trying to
  200.           charge by the program; but remember, it takes time to
  201.           make copies.
  202.  
  203.           My address is:
  204.  
  205.           Martin Gitelson
  206.           511 W. Evergreen Blvd.
  207.           Vancouver, Wa., 98660
  208.           USA
  209.  
  210.  
  211.